SaveComposite(RasterCodecs,string,List<CompositeJpxImages>,Jpeg2000FileFormat,int,int) Method

Summary

Saves a CompositeJpxImages list to a file in any of the supported JPEG 2000 file formats. This method is available in the Document/Medical Toolkits.

Syntax
C#
VB
C++
  
Public Overloads Sub SaveComposite( _ 
   ByVal codecs As RasterCodecs, _ 
   ByVal fileName As String, _ 
   ByVal compositeImages As List(Of CompositeJpxImages), _ 
   ByVal format As Jpeg2000FileFormat, _ 
   ByVal bitsPerPixel As Integer, _ 
   ByVal qualityFactor As Integer _ 
)  
public: 
void SaveComposite(  
   RasterCodecs^ codecs, 
   String^ fileName, 
   List<CompositeJpxImages^>^ compositeImages, 
   Jpeg2000FileFormat format, 
   int bitsPerPixel, 
   int qualityFactor 
)  

Parameters

codecs
The Leadtools.Codecs.RasterCodecs object.

fileName
System.String containing the name of the file currently being saved.

compositeImages
List of CompositeJpxImages containing the image layer data that will be saved.

format
Output JPEG 2000 file format. For valid values, refer to Jpeg2000FileFormat.

bitsPerPixel
Resulting file's pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. Zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).

qualityFactor
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.

Remarks

All of the engine boxes that are currently set will also be saved in this file.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Jpeg2000; 
 
public void SaveCompositeStringExample(byte[] xmlData) 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   // Load a JPEG 2000 image 
   Jpeg2000Engine engine = new Jpeg2000Engine(); 
   List<CompositeJpxImages> images = engine.LoadComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), 0, CodecsLoadByteOrder.BgrOrGray); 
 
   engine.ResetEngineBoxes(); 
 
   GtsoBox gtsoBox = (GtsoBox)(engine.ReadBox(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), Jpeg2000BoxType.GtsoBox, 0)); 
   engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox); 
   //Save the image in JPX file format 
   engine.SaveComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), images, Jpeg2000FileFormat.LeadJpx, 24, 5); 
   //Append an XML box 
   XmlBox xmlBox = new XmlBox(); 
   xmlBox.Data = xmlData; 
   List<XmlBox> xmlBoxes = new List<XmlBox>(); 
   xmlBoxes.Add(xmlBox); 
   engine.AppendBoxes(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), xmlBoxes); 
   // Clean up 
   foreach (CompositeJpxImages image in images) 
   { 
      image.ColorImage.Dispose(); 
      image.OpacityImage.Dispose(); 
      image.PreOpacityImage.Dispose(); 
   } 
   codecs.Dispose(); 
} 
 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Jpeg2000 
 
Public Sub SaveCompositeStringExample(ByVal xmlData() As Byte) 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   ' Load a JPEG 2000 image 
   Dim engine As New Jpeg2000Engine() 
   Dim images As List(Of CompositeJpxImages) = engine.LoadComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), 0, CodecsLoadByteOrder.BgrOrGray) 
 
   engine.ResetEngineBoxes() 
 
   Dim gtsoBox As GtsoBox = DirectCast(engine.ReadBox(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), Jpeg2000BoxType.GtsoBox, 0), GtsoBox) 
   engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox) 
 
   ' Save the image in JPX file format 
   engine.SaveComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), images, Jpeg2000FileFormat.LeadJpx, 24, 5) 
 
   ' Append an XML box 
   Dim _xmlBox As New XmlBox() 
   _xmlBox.Data = xmlData 
   Dim _xmlBoxes As New List(Of XmlBox) 
   _xmlBoxes.Add(_xmlBox) 
   engine.AppendBoxes(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), _xmlBoxes) 
 
   '  Clean up 
   Dim _image As CompositeJpxImages 
   For Each _image In images 
      _image.ColorImage.Dispose() 
      _image.OpacityImage.Dispose() 
      _image.PreOpacityImage.Dispose() 
   Next _image 
   codecs.Dispose() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Jpeg2000 Assembly